package com.hrcx.mystery.pojo;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.math.BigDecimal;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

/**
 * 盲盒卡卷
 *
 * @author LinXiPeng
 * @TableName eb_mystery_card_volume
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "盲盒卡卷", description = "暂无描述")
public class EbMysteryCardVolume implements Serializable {

    private static final long serialVersionUID = -8204401789171196226L;
    /**
     * 卡卷编号
     */
    @NotNull(message = "[卡卷编号]不能为空")
    @ApiModelProperty("卡卷编号")
    private Integer id;
    /**
     * 卡卷名称
     */
    @NotBlank(message = "[卡卷名称]不能为空")
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("卡卷名称")
    @Length(max = 255, message = "编码长度不能超过255")
    private String name;
    /**
     * 有效期（0：无限 大于0则按小时计算）
     */
    @NotNull(message = "[有效期（0：无限 大于0则按小时计算）]不能为空")
    @ApiModelProperty("有效期（0：无限 大于0则按小时计算）")
    private Integer validity;
    /**
     * 规则说明
     */
    @NotBlank(message = "[规则说明]不能为空")
    @Size(max = 255, message = "编码长度不能超过255")
    @ApiModelProperty("规则说明")
    @Length(max = 255, message = "编码长度不能超过255")
    private String explainComment;
    /**
     * 打折程度
     */
    @NotNull(message = "[打折程度]不能为空")
    @ApiModelProperty("打折程度")
    private Integer discount;
    /**
     * 兑换时所需要的积分
     */
    @NotNull(message = "[兑换时所需要的积分]不能为空")
    @ApiModelProperty("兑换时所需要的积分")
    private Integer integral;
    /**
     * 合成时所需要的材料
     */
    @NotNull(message = "[合成时所需要的材料]不能为空")
    @ApiModelProperty("合成时所需要的材料")
    private Integer materials;
    /**
     * 是否为无限制
     */
    @NotNull(message = "[是否为无限制]不能为空")
    @ApiModelProperty("是否为无限制")
    private Boolean unlimited;
    /**
     * 剩余数量
     */
    @NotNull(message = "[剩余数量]不能为空")
    @ApiModelProperty("剩余数量")
    private Integer remaining;
    /**
     * 成本
     */
    @NotNull(message = "[成本]不能为空")
    @ApiModelProperty("成本")
    private BigDecimal cost;
    /**
     * 标价
     */
    @NotNull(message = "[标价]不能为空")
    @ApiModelProperty("标价")
    private BigDecimal price;
}
